molot39, не проверял. Тут проблема не с кешем, а с действием перехода на другую карту, оно только для кампаний.
По идее легче сделать один нейтральный интерфейс для всех, чем заморачиваться с кешем. Ведь как предположительно будет с кешем? Все игроки загружаются на карту для выбора героев, после выбора все выходят и все вместе создают игру, и загружаются в другую карту, либо ту же, у каждого из них скорее всего НЕ ПОЯВИТСЯ выбранная раса, так как не припомню такого действия, которое устанавливает расу, а quq_CCCP говорит, что расы до старта карты устанавливаются; но если и появится, то столько проблем и нестыковок может случится за это время, что легче вручную расы выбрать.
была мысль, после погрузки карты значение кеша пустое, идет выбор рас, потом после выбора рас, делается рестарт (если опять же реально - не через меню, а триггероно), и уже в ней, после прогрузки карты загружаем кеш. Но как я понял это не торт
Событие такое есть, но надо делать его когда герой появляется на всей локации, функция: "Триггер - новое событие для (нужный триггер) герой входит в область (нужная область)"
ну я так и делаю...странно...что нет такого события...и да...еще такой вопрос чтобы не создать новую тему..есть событие которое проверяет кто зашел в такую локацию...как добавить условие чтобы ВСЕ игроки в карте получили скажем так 1000 опыта через группу игроков или отряд?
вот снимок
если в условие я поставлю тригерный юнит это герой равно да и вместо picked unit поставлю triggering unit то только тот герой который зашел в область получит опыт
Группа игроков (все игроки) => добавляем опыт всем героям игроков (заранее их фиксируя)
Да, через координаты, потребуется два триггера.
В первом на передвижение героя, во втором когда игрок двигает камеру, передвигаем закрепленную камеру до нужных значений.
Ты сам же ответил на этот вопрос.
В триггере, где происходит старт карты (не загрузка, а хотя бы 0,01 сек. игрового времени), ставим функцию "Герой - Make (Нужный игрок) Heroes gain 0.00% experience from future kills"
Потом через отдельный триггер выставляешь столько сколько нужно.
в цикле он проверяет условие...если условия дают ИСТИНУ то он идет дальше и в конце создается юнит...посл этого он выходит оттуда и отключает триггер
дискорд
discord.gg/3Dgu5rG
закрывай вопрос, там решим, только как ты мне покажешь экран?
только в другом триггере я создаю кнопку и потом надпись высвечивается...а тут по идее тоже самое
нужно чтобы условие сработало и потом все остальное
смотри Uде расположен TURN OFF (THIS TRIGGER)
блин, скайп есть? долго сложно объяснить и плохо видно что там у тебя за гемор
ApoloZ2, мда... хз, попробуй включить изначально триггер. А в таблице (в самом триггере) нужно делать проверку, вышел ли игрок или нет, и только тогда добавлять строчку
и всё же попробуй отряд сделать через триггер плауер
Уровня два, на каждом по 3 заряда. А что баф не нужен? Про иммунитет, да, придется подумать...
Я видел один. А баф как раз связан с его отменой при наложении неуязвимости, например.
Замени способность "Кровожадность" на способность предмета "Перчатки скорости", если я не ошибаюсь, то иконка не будет отображаться в панели управления, а заряды можно попробовать через уровни сделать или делать копии.
вот тебе и благодарность, даже желание отпало помогать... лучше бы систему вознаграждения продолжал переписывать... 8gabriel8:
molot39, только у способности один уровень, ускорение атаки делается за счёт наложения заклинания, бафф которого виден, но там главное правильно поставить описание баффу, однако это страшно при иммунитете к магии, либо развеивании. По идее иммунитет к магии преодолим, если будет стоить заклинание дамми 0 маны, а вот развеивание не знаю. Просто герой задуман как антимаг, а у магов всякие развеивания очень вероятны...
Уровня два, на каждом по 3 заряда. А что баф не нужен? Про иммунитет, да, придется подумать... Или потестить, а лучше иммунитет или скидку бафов переделать так, что бы слитали отрицательные бафы.
А это вообще камень в огород, думайте о последствиях прежде чем писать! quq_CCCP:
molot39, да что вы говорите, язык не отсох?
Есть хак на память, есть внезапно способность рунных браслетов, которая нам поможет отличить физический от магического урона.
Не надо плести чепуху если вы не разбираетесь.
Это не отлов типа урона, а одно из решений.
Проверка на бафф не есть хорошо для героя, - это орб который внезапно не дружит с другими орбами.
Тут вообще про что?
Особенно порадовал ваш дико ядреный костыль с кровожадностью, оно если что не стак, а еще и рассеиваться 100500 диспелами... Не кастуется на неуязвимых, маг имунных, ну кароче явно не для такой пассивки.
Стакается, тестим, (так и знал что нужно скорость атаки выдать). Это наработка, а не полная копия способности, на худой конец заменяем кровожадность на способность от предмета "Перчатки скорости" - и всё!
Код как всегда отпадный, так и хочется прыгнуть в окно...
Прыгай, я не против...
На будущее: не нужно прям так унижать наработку, это не копия (повторюсь), есть недочеты тактично разъясни, лично мне пофиг что там кто думает, но если что то не устравивает предлагаем свои поправки, а не макаем автора в фекалии
Он имеет ввиду, чтобы ты проверил способность вместе с предметом Огненный плащ или способностью Жар преисподней, не будет ли это считаться атакой юнита, как будет работать, когда много юнитов к тебе подбегает, ведь часть из них как бы будет атакована не в первый раз, а часть в первый одновременно, если эффект будет считаться атакой, естественно.
function Trig_Fervor_Conditions takes nothing returns boolean
return GetUnitAbilityLevel(GetAttacker(),'A06C') > 0 and not IsUnitType(GetTriggerUnit(),UNIT_TYPE_STRUCTURE)
endfunction
function Trig_Fervor_Tick takes nothing returns nothing
local unit u
local unit targ
local trigger t = GetTriggeringTrigger()
local hashtable gc = udg_HashCache
local integer s = GetHandleId(t)
local integer lvl = GetUnitAbilityLevel(u,'A06C')
local integer c = 0
if GetTriggerEventId() == EVENT_UNIT_DAMAGED then
set u = LoadUnitHandle(gc,s,1)
if GetEventDamageSource() == u then
set targ = GetTriggerUnit()
set c = GetUnitAbilityLevel(u,'A08T')
if targ != LoadUnitHandle(gc,GetHandleId(u),StringHash("trollfervor")) then
set c = R2I(c/2)
call SaveUnitHandle(gc,GetHandleId(u),StringHash("trollfervor"),targ)
else
set c = c+1
if c > lvl+1 then
set c = lvl+1
endif
endif
call SetUnitAbilityLevel(u,'A08T',c)
set targ = null
endif
set u = null
endif
call TriggerRemoveAction(t,LoadTriggerActionHandle(gc,s,2))
call FlushChildHashtable(gc,s)
call KillTrigger(t)
set t = null
set gc = null
endfunction
function Trig_Fervor takes nothing returns nothing
local unit u = GetAttacker()
local unit targ = GetTriggerUnit()
local trigger t = CreateTrigger()
local integer s = GetHandleId(t)
local hashtable gc = udg_HashCache
local triggeraction ta
if GetUnitAbilityLevel(u,'A08T') == 0 then
call UnitAddAbility(u,'A08T')
endif
call SaveUnitHandle(gc,s,1,u)
call TriggerRegisterUnitEvent(t,targ,EVENT_UNIT_DAMAGED)
call TriggerRegisterUnitEvent(t,u,EVENT_UNIT_ISSUED_ORDER)
call TriggerRegisterUnitEvent(t,u,EVENT_UNIT_ISSUED_POINT_ORDER)
call TriggerRegisterUnitEvent(t,u,EVENT_UNIT_ISSUED_TARGET_ORDER)
call TriggerRegisterTimerEvent(t,2.5,false)
set ta = TriggerAddAction(t,function Trig_Fervor_Tick)
call SaveTriggerActionHandle(gc,s,2,ta)
set u = null
set targ = null
set t = null
set gc = null
set ta = null
endfunction
function InitTrig_Fervor takes nothing returns nothing
set gg_trg_Fervor = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Fervor, EVENT_PLAYER_UNIT_ATTACKED )
call TriggerAddCondition( gg_trg_Fervor, Condition( function Trig_Fervor_Conditions ) )
call TriggerAddAction( gg_trg_Fervor, function Trig_Fervor)
endfunction
И в инициализации создаётся хеш-таблица udg_HashCache.
» WarCraft 3 / Блокиратор пути
Ред. N7 Molot
» WarCraft 3 / Интерфейс
» WarCraft 3 / Интерфейс
» WarCraft 3 / Канал
Ред. N7 Molot
» WarCraft 3 / Проверка уровня игрока и разблокировка Портала
» WarCraft 3 / Крепление камеры к герою
В первом на передвижение героя, во втором когда игрок двигает камеру, передвигаем закрепленную камеру до нужных значений.
Ты сам же ответил на этот вопрос.
Ред. N7 Molot
» WarCraft 3 / Не получать опыта за героя
» WarCraft 3 / Конкурс карт от 2kxaos продлён до 24-го августа
» WarCraft 3 / Лив игрока при игре в мултиплеере
» WarCraft 3 / Лив игрока при игре в мултиплеере
» WarCraft 3 / Лив игрока при игре в мултиплеере
Ред. N7 Molot
» WarCraft 3 / Лив игрока при игре в мултиплеере
Ред. N7 Molot
» WarCraft 3 / Лив игрока при игре в мултиплеере
и кстати как проверяешь?
Ред. N7 Molot
» WarCraft 3 / Лив игрока при игре в мултиплеере
» WarCraft 3 / Лив игрока при игре в мултиплеере
напиши с маленькой "вышел"
» WarCraft 3 / Увеличение скорости атаки при каждой атаке на цель (v2)
» WarCraft 3 / Как сделать способность?
» WarCraft 3 / Как сделать способность?
» WarCraft 3 / Как сделать способность?
8gabriel8: Уровня два, на каждом по 3 заряда. А что баф не нужен? Про иммунитет, да, придется подумать... Или потестить, а лучше иммунитет или скидку бафов переделать так, что бы слитали отрицательные бафы.
quq_CCCP: Это не отлов типа урона, а одно из решений.
На будущее: не нужно прям так унижать наработку, это не копия (повторюсь), есть недочеты тактично разъясни, лично мне пофиг что там кто думает, но если что то не устравивает предлагаем свои поправки, а не макаем автора в фекалии
» WarCraft 3 / Нужна модель? - Вам сюда!
» WarCraft 3 / Как сделать способность?
» WarCraft 3 / Как сделать способность?
» WarCraft 3 / Как сделать способность?
не отвлекайте, я восстанавливаю болванку с нуля, удалил старую
» WarCraft 3 / Как сделать способность?
» WarCraft 3 / Как сделать способность?